package com.an.blog.strategy;

import com.an.blog.web.domain.bo.BlogArticleWebBo;
import com.an.blog.web.domain.vo.BlogArticleDetailWebVo;
import com.an.blog.web.domain.vo.BlogArticleWebVo;
import com.an.common.core.domain.PageQuery;
import com.an.common.core.page.TableDataInfo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * 博客搜索策略
 *
 * @author Ann
 * @date 2024/07/08
 */
public interface SearchStrategy {


    /**
     * 查询网页列表
     *
     * @param articleWebBo 文章 web bo
     * @param pageQuery    页面查询
     * @return {@link Page }<{@link BlogArticleWebVo }>
     * @author Ann
     * @date 2024/07/25
     */
    TableDataInfo<BlogArticleWebVo> queryWebPageList(BlogArticleWebBo articleWebBo, PageQuery pageQuery);

    /**
     * 按 ID 查询 Web 详细信息
     *
     * @param articleId 文章ID
     * @return {@link BlogArticleDetailWebVo }
     * @author Ann
     * @date 2024/08/05
     */
    BlogArticleDetailWebVo queryWebDetailById(Long articleId);
}
